#ifndef SINGLETONBD_H
#define SINGLETONBD_H

#include <QtDebug>
#include "sqlite3.h"
#include <QString>
#include <QDebug>

//数据库单例
/*1. 构造函数私有化   外部无法创建对象   类内部调用构造函数--创建对象
2. 公共静态成员函数  返回--全局访问点
3. 创建一个私有静态成员*/

class SingletonBD
{
public:
    static SingletonBD* getInstance();//3.公共静态成员函数
    void closedb();
//    ~SingletonBD();

    /** 查询语句
     * @brief doSelect
     * @param sql   执行的sql
     * @param qres  结果集引用
     * @param row   数据行引用
     * @param col   数据列引用
     * @return      0--sql执行成功 else执行失败
     */
    int doSelect(QString sql, char**&qres, int &row, int &col);
    /** 插入、删除、更新
     * @brief doUpdateInsertDel
     * @param sql       执行sql
     * @return  0--sql执行成功 else失败
     */
    int doUpdateInsertDel(QString sql);
private:
    SingletonBD();              //1.构造函数私有化
    static SingletonBD* db;     //2.创建一个私有静态成员
    sqlite3 *pdb;
};

#endif // SINGLETONBD_H
